home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 5.0 KB | 217 lines | [TEXT/MPS ] |
- (*
- File: AIFF.mod
-
- Contains: Definition of AIFF file format components.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE AIFF;
-
- IMPORT Types;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- AIFFID* = LONG("AIFF");
- AIFCID* = LONG("AIFC");
- FormatVersionID* = LONG("FVER");
- CommonID* = LONG("COMM");
- FORMID* = LONG("FORM");
- SoundDataID* = LONG("SSND");
- MarkerID* = LONG("MARK");
- InstrumentID* = LONG("INST");
- MIDIDataID* = LONG("MIDI");
- AudioRecordingID* = LONG("AESD");
- ApplicationSpecificID* = LONG("APPL");
- CommentID* = LONG("COMT");
- NameID* = LONG("NAME");
- AuthorID* = LONG("AUTH");
- CopyrightID* = LONG("(c) ");
- AnnotationID* = LONG("ANNO");
-
- NoLooping* = 0;
- ForwardLooping* = 1;
- ForwardBackwardLooping* = 2;
- (* AIFF-C Versions *)
- AIFCVersion1* = $A2805140;
-
- (* Compression Names *)
- NoneName* = 'not compressed';
- ACE2to1Name* = 'ACE 2-to-1';
- ACE8to3Name* = 'ACE 8-to-3';
- MACE3to1Name* = 'MACE 3-to-1';
- MACE6to1Name* = 'MACE 6-to-1';
-
- (* Compression Types *)
- NoneType* = LONG("NONE");
- ACE2Type* = LONG("ACE2");
- ACE8Type* = LONG("ACE8");
- MACE3Type* = LONG("MAC3");
- MACE6Type* = LONG("MAC6");
-
-
- TYPE
- ID* = LONGINT;
-
- MarkerIdType* = INTEGER;
-
- ChunkHeader* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- END;
-
- ContainerChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- formType*: ID;
- END;
-
- FormatVersionChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- timestamp*: LONGINT;
- END;
-
- FormatVersionChunkPtr* = POINTER TO FormatVersionChunk;
-
- CommonChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- numChannels*: INTEGER;
- numSampleFrames*: LONGINT;
- sampleSize*: INTEGER;
- sampleRate*: Types.Extended80;
- END;
-
- CommonChunkPtr* = POINTER TO CommonChunk;
-
- ExtCommonChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- numChannels*: INTEGER;
- numSampleFrames*: LONGINT;
- sampleSize*: INTEGER;
- sampleRate*: Types.Extended80;
- compressionType*: ID;
- compressionName*: (*ΔΔ PACKED*) ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF CHAR; (* variable length array, Pascal string *)
- END;
-
- ExtCommonChunkPtr* = POINTER TO ExtCommonChunk;
-
- SoundDataChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- offset*: LONGINT;
- blockSize*: LONGINT;
- END;
-
- SoundDataChunkPtr* = POINTER TO SoundDataChunk;
-
- Marker* = RECORD
- id*: MarkerIdType;
- position*: LONGINT;
- markerName*: Types.Str255;
- END;
-
- MarkerChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- numMarkers*: INTEGER;
- Markers*: ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF Marker; (* variable length array *)
- END;
-
- MarkerChunkPtr* = POINTER TO MarkerChunk;
-
- AIFFLoop* = RECORD
- playMode*: INTEGER;
- beginLoop*: MarkerIdType;
- endLoop*: MarkerIdType;
- END;
-
- InstrumentChunk* = (*ΔΔPACKEDΔΔ*) RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- baseFrequency*: Types.UInt8;
- detune*: Types.UInt8;
- lowFrequency*: Types.UInt8;
- highFrequency*: Types.UInt8;
- lowVelocity*: Types.UInt8;
- highVelocity*: Types.UInt8;
- gain*: INTEGER;
- sustainLoop*: AIFFLoop;
- releaseLoop*: AIFFLoop;
- END;
-
- InstrumentChunkPtr* = POINTER TO InstrumentChunk;
-
- MIDIDataChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- MIDIdata*: (*ΔΔ PACKED*) ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF Types.SInt8; (* UInt8 *) (* variable length array *)
- END;
-
- MIDIDataChunkPtr* = POINTER TO MIDIDataChunk;
-
- AudioRecordingChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- AESChannelStatus*: (*ΔΔPACKEDΔΔ*) ARRAY 24 (*ΔΔ[0..23]ΔΔ*) OF Types.SInt8; (* UInt8 *)
- END;
-
- AudioRecordingChunkPtr* = POINTER TO AudioRecordingChunk;
-
- ApplicationSpecificChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- applicationSignature*: Types.OSType;
- data*: (*ΔΔPACKEDΔΔ*) ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF Types.SInt8; (* UInt8 *) (* variable length array *)
- END;
-
- ApplicationSpecificChunkPtr* = POINTER TO ApplicationSpecificChunk;
-
- Comment* = RECORD
- timeStamp*: LONGINT;
- marker*: MarkerIdType;
- count*: INTEGER;
- text*: (*ΔΔ PACKED*) ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF CHAR; (* variable length array, Pascal string *)
- END;
-
- CommentsChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- numComments*: INTEGER;
- comments*: (*ΔΔ PACKED*) ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF Comment; (* variable length array *)
- END;
-
- CommentsChunkPtr* = POINTER TO CommentsChunk;
-
- TextChunk* = RECORD
- ckID*: ID;
- ckSize*: LONGINT;
- text*: (*ΔΔ PACKED*) ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF CHAR; (* variable length array, Pascal string *)
- END;
-
- TextChunkPtr* = POINTER TO TextChunk;
-
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END AIFF.
-